﻿#ifndef ARTICLES_H
#define ARTICLES_H
#include "Background.h"
#include<QPainterPath>
//物品
class Articles : public Background
{
public:
    Articles();
    Articles(int x, int y);
    virtual void init();
    virtual void update()override;
    virtual void draw(QPainter* painter)override;

    //设置窗口,限制范围用
    void setWindow(const QRect& rect);
    //设置窗口边框大小,限制范围用
    void setWindowSize(const QSize& size);
    //获取窗口边框大小,限制范围用
    const QSize getWindowSize();
    //获取窗口,限制范围用
    const QRect& getWindow();
    //碰撞器
    void setCollider(const QPainterPath& collider);
    void setCollider(const QRect& rect);
    void setCollider(const QPoint& pos,const qreal rx,const qreal ry);
    QPainterPath& getCollider();
    //碰撞器检查
    virtual bool Collider(const QPainterPath& collider);
    virtual bool Collider(const QRect& rect);
    virtual bool Collider(Articles& collider);
    //血量-1
    //virtual Articles& operator--();
    //血量减少
    virtual void reduceHp(const int hp=1);
    //增加血量
    virtual void addHp(const int hp = 1);
    //血量
    void setHp(int HP);
    int getHp();
    void setMaxHp(int HP);
    int getMaxHP();
protected:
    QRect m_Window;  //窗口
    QPainterPath m_collider;  //碰撞器
    //QSize m_windowSize;//窗口大小
    int m_Hp=1;//血条
    int m_maxHp=1;//最大血条
};

#endif // SPRITE_H